/**
 ******************************************************************************
 * @file    string_generate.h
 * @author  Li Zhenxu
 * @version V1.0.0
 * @date    2023/1/16
 * @brief   生成可用于串口DMA发送的字符串，格式为串口调试助手所能识别的格式
 */
#ifndef _string_generate_H_
#define _string_generate_H_

#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "dma.h"
#include "usart.h"
#include "PID.h"

/**
 * @brief DMA串口发送(串口调试助手协议)
 * @param[in] 要发送的字符串
 * @param[in] 可变参数数量(所要发送的参数数量)
 * @param[in] 参数名数组
 */
void String_Generate(uint8_t Sendbuf[] , int parameter_num , uint8_t name[][10] , ...);

/**
 * @brief DMA串口接收
 * @param[in] 串口
 * @param[in] 接收数据
 * @param[in] 数据长度
 * @param[in] 接受的pid参数缓存数组
 ******************************************************************************
 * @attention 接收格式为 电机编号,角度环kp,角度环ki,角度环kd,速度环kp,速度环ki,速度环kd,
 ******************************************************************************
 */
void Rx_PID_Param(UART_HandleTypeDef *huart , uint8_t Rx_Data[] , int len , float* pid_param);

#endif
